class NaturalNumber {

	private int number;

	NaturalNumber(int number){
		if (number <= 0) {
			throw new IllegalArgumentException("You must supply a natural number (positive integer)");
		}
		
		this.number = number;
	}

	Classification getClassification(){
		if (this.number == 1) {
			return Classification.DEFICIENT;
		}

		int result = 1;
		for (int i = 2; i < this.number ; i++) {
			if (this.number % i == 0) {
				result += i;
			}
		}

		if (result == this.number) {
			return Classification.PERFECT;
		}

		if (result > this.number) {
			return Classification.ABUNDANT;
		}

		if (result < this.number) {
			return Classification.DEFICIENT;
		}

		return null;
	}

}
